package com.workants.eboleta.ui.view;
import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent;
import com.vaadin.shared.ui.label.ContentMode;
import com.vaadin.ui.Component;
import com.vaadin.ui.CssLayout;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Label;
import com.vaadin.ui.Notification;
import com.vaadin.ui.UI;
import com.vaadin.ui.themes.ValoTheme;
import com.workants.eboleta.IView.IViewAdministrador;
import com.workants.eboleta.handler.IViewAdministradorHandler;
import com.workants.eboleta.model.Usuario;

public class ViewAdministrador extends HorizontalLayout implements IViewAdministrador{
	
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	public static final String NAME = "viewAdministrador";
	
	private IViewAdministradorHandler handler;
	private ViewAdministradorLateralIzquierdo viewAdministradorEncabezado;
	private ViewAdministradorCuerpo viewAdministradorCuerpo;
	 	

	public ViewAdministrador(){
		
		setPrimaryStyleName(ValoTheme.MENU_ROOT);
		setMargin(true);
	    addComponent(generarLateral());
	//	addComponent(new Label("<hr />", ContentMode.HTML));
	 //   addComponent(menuPart);
		
	}

	
	
	private Component generarLateral() {
		
		this.setViewAdministradorEncabezado(new ViewAdministradorLateralIzquierdo());
		return this.getViewAdministradorEncabezado();
	}



	@Override
	public void enter(ViewChangeEvent event) {
		
		Notification.show("Vista Adminstrador");		
		Usuario usuario = (Usuario) UI.getCurrent().getSession().getAttribute("usuario");
		this.getViewAdministradorEncabezado().getLblEncabezado().setCaption("Bienvenido: " + usuario.getApellido().toUpperCase() + ","+usuario.getNombre().toUpperCase());
		
	}

	@Override
	public void setHandler(IViewAdministradorHandler handler) {
		
		this.handler = handler;
		
	}

	@Override
	public IViewAdministradorHandler getHandler() {
		
		return this.handler;
	}



	public ViewAdministradorLateralIzquierdo getViewAdministradorEncabezado() {
		return viewAdministradorEncabezado;
	}



	public void setViewAdministradorEncabezado(
			ViewAdministradorLateralIzquierdo viewAdministradorEncabezado) {
		this.viewAdministradorEncabezado = viewAdministradorEncabezado;
	}



	public ViewAdministradorCuerpo getViewAdministradorCuerpo() {
		return viewAdministradorCuerpo;
	}



	public void setViewAdministradorCuerpo(
			ViewAdministradorCuerpo viewAdministradorCuerpo) {
		this.viewAdministradorCuerpo = viewAdministradorCuerpo;
	}
	
	

}
